# coding: utf-8

import os
import cv2
import time
import paddlehub


def reserve_num(text=""):
    for idx in range(len(text)):
        if '0' <= text[idx] <= '9':
            res = text[idx:]
            if res.find('.') != -1:
                return res, False
            elif len(res) <= 2:
                return res, True
            else:
                return res[:-2] + '.' + res[-2:], True
    return -1, False


def split_by_colon(text=""):
    item_list = text.split("：")

    if len(item_list) == 1:
        return item_list[0], ""
    elif len(item_list) == 2:
        return item_list[0], item_list[1]
    else:
        return item_list[0], item_list[len(item_list) - 1]


class OCR_Player(object):
    """docstring for OCR_player"""

    def __init__(self, accuracy=0.6, adb_mode=False, adb_num=0, file_path=None):
        self.images = None
        self.target_map = None
        self.accuracy = accuracy
        self.adb_mode = adb_mode
        if file_path is None:
            self.file_path = []
        else:
            self.file_path = file_path
        self.ocr = paddlehub.Module(name="chinese_ocr_db_crnn_mobile", enable_mkldnn=True)
        self.accuracy = accuracy

    # 截屏并发送到目录./screen, 默认返回cv2读取后的图片
    def screen_shot(self, file_path=None):
        # 设置图片所在目录
        image_directory = ""
        if file_path is None:
            print("图片文件夹路径不存在！ERROR！")
            exit(0)
        else:
            image_directory = file_path[0]

        # 判断目录路径是否存在
        if os.path.exists(image_directory):
            print('文件夹: ' + image_directory + '存在')
        else:
            print('文件夹不存在！')
            exit(0)

        images = []
        names = []
        # 遍历目录中的所有文件
        for filename in os.listdir(image_directory):
            # 检查是否是图片文件
            if filename.lower().endswith(('.png', '.jpg', '.jpeg', '.bmp', '.gif')):
                # 构造完整路径
                file_path = os.path.join(image_directory, filename)
                # 检查文件是否存在
                if os.path.isfile(file_path):
                    print('文件: ' + file_path + '存在')
                else:
                    print('文件不存在')
                    continue

                # 存filename
                names.append(filename)

                # 转换为cv2格式（BGR）
                screen = cv2.imread(file_path)
                images.append(screen)

        print('图片文件夹处理完成 ', time.ctime())
        self.images = images
        return self.images, names

    def read(self, debug=True):
        res = []
        images, names = self.screen_shot(self.file_path)

        results = self.ocr.recognize_text(
            images=images,  # 图片数据，ndarray.shape 为 [H, W, C]，BGR格式；
            use_gpu=False,  # 是否使用 GPU；若使用GPU，请先设置CUDA_VISIBLE_DEVICES环境变量
            output_dir=self.file_path[1],  # 图片的保存路径，默认设为 ocr_result；
            visualization=debug,  # 是否将识别结果保存为图片文件；
            box_thresh=self.accuracy,  # 检测文本框置信度的阈值；
            text_thresh=self.accuracy)  # 识别中文文本置信度的阈值；

        for result in results:
            res.append(result['data'])
        return res, names

    # key_list: 发票中的关键字列表
    def find_touch(self, key_list, debug=False):
        # datas：OCR识别后的结果
        datas, names = self.read(debug)
        # server
        # datas = [[{'text': '发票信息20240228212038（1）x', 'confidence': 0.9524387121200562, 'text_box_position': [[148, 157], [363, 154], [363, 175], [148, 179]]}, {'text': '滴滴电子发票.pd', 'confidence': 0.9645640254020691, 'text_box_position': [[395, 157], [511, 157], [511, 173], [395, 173]]}, {'text': '顺丰电子发票pdf', 'confidence': 0.9468482732772827, 'text_box_position': [[641, 154], [765, 154], [765, 175], [641, 175]]}, {'text': '保护', 'confidence': 0.9999780058860779, 'text_box_position': [[241, 193], [274, 193], [274, 213], [241, 213]]}, {'text': '转换', 'confidence': 0.9990842342376709, 'text_box_position': [[296, 193], [329, 193], [329, 213], [296, 213]]}, {'text': '发票', 'confidence': 0.999906063079834, 'text_box_position': [[355, 193], [384, 193], [384, 213], [355, 213]]}, {'text': '工具', 'confidence': 0.9999035596847534, 'text_box_position': [[186, 195], [215, 195], [215, 213], [186, 213]]}, {'text': '批注', 'confidence': 0.9980814456939697, 'text_box_position': [[131, 197], [157, 197], [157, 214], [131, 214]]}, {'text': '页面', 'confidence': 0.9979842305183411, 'text_box_position': [[76, 198], [100, 198], [100, 211], [76, 211]]}, {'text': 'hWPSAIQ', 'confidence': 0.911935031414032, 'text_box_position': [[411, 189], [508, 189], [508, 211], [411, 211]]}, {'text': '区', 'confidence': 0.8685702681541443, 'text_box_position': [[95, 234], [123, 234], [123, 266], [95, 266]]}, {'text': '发票合并', 'confidence': 0.8561980724334717, 'text_box_position': [[17, 268], [68, 268], [68, 284], [17, 284]]}, {'text': '关闭', 'confidence': 0.9965828657150269, 'text_box_position': [[95, 268], [119, 260], [125, 280], [100, 287]]}, {'text': '发票打', 'confidence': 0.9951114654541016, 'text_box_position': [[1170, 323], [1221, 323], [1221, 339], [1170, 339]]}, {'text': '上海增值税电子普通发票', 'confidence': 0.9999275803565979, 'text_box_position': [[367, 358], [824, 363], [824, 406], [367, 401]]}, {'text': '发票代码：031002100711', 'confidence': 0.9996693730354309, 'text_box_position': [[862, 388], [1062, 388], [1062, 410], [862, 410]]}, {'text': '发票号码：30122300', 'confidence': 0.9994589686393738, 'text_box_position': [[860, 420], [1023, 417], [1023, 440], [860, 443]]}, {'text': '开票日期：2023年08月07日', 'confidence': 0.996833324432373, 'text_box_position': [[858, 452], [1060, 447], [1060, 470], [858, 475]]}, {'text': '机器编', 'confidence': 0.9972675442695618, 'text_box_position': [[49, 477], [102, 477], [102, 493], [49, 493]]}, {'text': '499098306660', 'confidence': 0.9989497065544128, 'text_box_position': [[127, 475], [237, 475], [237, 497], [127, 497]]}, {'text': '校验码：16461051333538280429', 'confidence': 0.9995521903038025, 'text_box_position': [[860, 482], [1151, 482], [1151, 504], [860, 504]]}, {'text': '称上海从云信息科技有限公司', 'confidence': 0.9585666656494141, 'text_box_position': [[188, 512], [405, 512], [405, 534], [188, 534]]}, {'text': '购', 'confidence': 0.737197995185852, 'text_box_position': [[59, 525], [74, 520], [81, 537], [66, 543]]}, {'text': '0398-73/82/2--1-＜2>534/3893', 'confidence': 0.9610893726348877, 'text_box_position': [[767, 525], [1100, 525], [1100, 541], [767, 541]]}, {'text': '纳税人识别号：91310115332419123H', 'confidence': 0.9991414546966553, 'text_box_position': [[100, 539], [365, 541], [365, 564], [100, 562]]}, {'text': '买', 'confidence': 0.9976609945297241, 'text_box_position': [[62, 550], [83, 550], [83, 576], [62, 576]]}, {'text': '>128485*654>6+1>1721537*/680', 'confidence': 0.9730433821678162, 'text_box_position': [[765, 552], [1101, 552], [1101, 573], [765, 573]]}, {'text': '地址、电话', 'confidence': 0.9168631434440613, 'text_box_position': [[104, 568], [213, 568], [213, 589], [104, 589]]}, {'text': '方', 'confidence': 0.9921924471855164, 'text_box_position': [[66, 585], [79, 585], [79, 599], [66, 599]]}, {'text': '2-14/1-2*1+0987342<308662<5-', 'confidence': 0.9729087948799133, 'text_box_position': [[761, 576], [1098, 578], [1098, 599], [761, 598]]}, {'text': '开户行及账号：', 'confidence': 0.9482814073562622, 'text_box_position': [[102, 594], [216, 594], [216, 621], [102, 621]]}, {'text': '区', 'confidence': 0.9998427629470825, 'text_box_position': [[702, 601], [715, 601], [715, 617], [702, 617]]}, {'text': '2<7>5*+-2501//01196/56615865', 'confidence': 0.9844109416007996, 'text_box_position': [[759, 605], [1100, 608], [1100, 630], [759, 626]]}, {'text': '货物或应税劳务、服务名称', 'confidence': 0.996784508228302, 'text_box_position': [[93, 628], [300, 630], [300, 653], [93, 651]]}, {'text': '规格型号', 'confidence': 0.999417781829834, 'text_box_position': [[363, 630], [437, 633], [435, 662], [361, 658]]}, {'text': '单位', 'confidence': 0.9999455213546753, 'text_box_position': [[481, 633], [521, 633], [521, 665], [481, 665]]}, {'text': '数量', 'confidence': 0.9448357820510864, 'text_box_position': [[570, 637], [620, 637], [620, 660], [570, 660]]}, {'text': '单价', 'confidence': 0.9998514652252197, 'text_box_position': [[690, 637], [738, 637], [738, 660], [690, 660]]}, {'text': '金额', 'confidence': 0.997549831867218, 'text_box_position': [[822, 637], [883, 637], [883, 665], [822, 665]]}, {'text': '税率', 'confidence': 0.9941006898880005, 'text_box_position': [[934, 639], [978, 639], [978, 663], [934, 663]]}, {'text': '税额', 'confidence': 0.99235600233078, 'text_box_position': [[1035, 637], [1098, 637], [1098, 665], [1035, 665]]}, {'text': '物流辅助服务派服务费', 'confidence': 0.9983322024345398, 'text_box_position': [[59, 653], [241, 656], [241, 678], [59, 674]]}, {'text': '次', 'confidence': 0.9975364208221436, 'text_box_position': [[489, 660], [515, 660], [515, 685], [489, 685]]}, {'text': '66.98', 'confidence': 0.9996708631515503, 'text_box_position': [[721, 662], [768, 662], [768, 685], [721, 685]]}, {'text': '1.0', 'confidence': 0.9154473543167114, 'text_box_position': [[624, 665], [647, 665], [647, 678], [624, 678]]}, {'text': '66.98', 'confidence': 0.9997691512107849, 'text_box_position': [[865, 663], [915, 663], [915, 686], [865, 686]]}, {'text': '6%', 'confidence': 0.9992161989212036, 'text_box_position': [[953, 665], [980, 665], [980, 685], [953, 685]]}, {'text': '4.02', 'confidence': 0.99984210729599, 'text_box_position': [[1100, 667], [1134, 667], [1134, 685], [1100, 685]]}, {'text': '计', 'confidence': 0.6935092806816101, 'text_box_position': [[224, 846], [239, 843], [243, 857], [228, 860]]}, {'text': '￥66.98', 'confidence': 0.9604339003562927, 'text_box_position': [[854, 848], [907, 848], [907, 866], [854, 866]]}, {'text': '402', 'confidence': 0.9967337846755981, 'text_box_position': [[1082, 852], [1126, 852], [1126, 869], [1082, 869]]}, {'text': '价税合计（大写）', 'confidence': 0.9988956451416016, 'text_box_position': [[137, 876], [255, 876], [255, 898], [137, 898]]}, {'text': '柒拾壹元整', 'confidence': 0.8488562703132629, 'text_box_position': [[340, 875], [443, 878], [443, 907], [340, 903]]}, {'text': '（小写）', 'confidence': 0.9996298551559448, 'text_box_position': [[845, 885], [898, 885], [898, 908], [845, 908]]}, {'text': '￥71.00', 'confidence': 0.9483461976051331, 'text_box_position': [[1058, 891], [1122, 894], [1121, 917], [1056, 914]]}, {'text': '名', 'confidence': 0.7586368918418884, 'text_box_position': [[114, 912], [125, 908], [131, 923], [119, 926]]}, {'text': '称上海顺泰速运有限公司', 'confidence': 0.9958763718605042, 'text_box_position': [[196, 908], [378, 912], [378, 933], [196, 930]]}, {'text': '销', 'confidence': 0.9962131977081299, 'text_box_position': [[79, 926], [93, 926], [93, 940], [79, 940]]}, {'text': '纳税人识别号：91310117MA1J4NPROP', 'confidence': 0.9769681096076965, 'text_box_position': [[112, 933], [378, 937], [378, 958], [112, 954]]}, {'text': '售', 'confidence': 0.9980887770652771, 'text_box_position': [[79, 944], [93, 944], [93, 967], [79, 967]]}, {'text': '地址、电话：上海市松江区新浜镇共青路93号10幢106021-69763258', 'confidence': 0.9734601378440857, 'text_box_position': [[112, 960], [569, 969], [569, 990], [112, 981]]}, {'text': '开户行及账号：招行闵行支行121939558910118', 'confidence': 0.9964499473571777, 'text_box_position': [[114, 985], [426, 992], [426, 1015], [114, 1008]]}, {'text': '91310117MA1J4NPROP', 'confidence': 0.9977316856384277, 'text_box_position': [[885, 995], [1044, 999], [1044, 1020], [885, 1017]]}, {'text': '收款人：张静', 'confidence': 0.9876014590263367, 'text_box_position': [[87, 1020], [180, 1020], [180, 1041], [87, 1041]]}, {'text': '复核：葛鑫鑫', 'confidence': 0.9570255875587463, 'text_box_position': [[363, 1020], [454, 1024], [454, 1045], [363, 1041]]}, {'text': '开票人：张娟娟', 'confidence': 0.9932249784469604, 'text_box_position': [[628, 1027], [742, 1029], [742, 1052], [628, 1050]]}, {'text': '销售发票专用章', 'confidence': 0.8506632447242737, 'text_box_position': [[873, 1029], [1025, 1033], [1025, 1059], [873, 1056]]}, {'text': '四', 'confidence': 0.8498068451881409, 'text_box_position': [[169, 1159], [194, 1169], [182, 1192], [157, 1182]]}, {'text': '回', 'confidence': 0.9635605812072754, 'text_box_position': [[1138, 1157], [1164, 1157], [1164, 1175], [1138, 1175]]}, {'text': '口', 'confidence': 0.8623413443565369, 'text_box_position': [[1199, 1162], [1219, 1162], [1219, 1175], [1199, 1175]]}, {'text': '巴', 'confidence': 0.6834590435028076, 'text_box_position': [[534, 1175], [557, 1175], [557, 1194], [534, 1194]]}, {'text': '区', 'confidence': 0.9150610566139221, 'text_box_position': [[574, 1176], [603, 1176], [603, 1196], [574, 1196]]}, {'text': 'C', 'confidence': 0.8746523857116699, 'text_box_position': [[700, 1178], [725, 1178], [725, 1199], [700, 1199]]}, {'text': 'ΛOC', 'confidence': 0.8182465434074402, 'text_box_position': [[538, 1219], [637, 1222], [635, 1269], [536, 1265]]}, {'text': 'Kongwan运', 'confidence': 0.6823586225509644, 'text_box_position': [[291, 1641], [371, 1641], [371, 1657], [291, 1657]]}]]
        # datas = [[{'text': '发票信息20240228212038（1）x', 'confidence': 0.9524387121200562, 'text_box_position': [[148, 157], [363, 154], [363, 175], [148, 179]]}, {'text': '滴滴电子发票.pd', 'confidence': 0.9645640254020691, 'text_box_position': [[395, 157], [511, 157], [511, 173], [395, 173]]}, {'text': '顺丰电子发票pdf', 'confidence': 0.9468482732772827, 'text_box_position': [[641, 154], [765, 154], [765, 175], [641, 175]]}, {'text': '保护', 'confidence': 0.9999780058860779, 'text_box_position': [[241, 193], [274, 193], [274, 213], [241, 213]]}, {'text': '转换', 'confidence': 0.9990842342376709, 'text_box_position': [[296, 193], [329, 193], [329, 213], [296, 213]]}, {'text': '发票', 'confidence': 0.999906063079834, 'text_box_position': [[355, 193], [384, 193], [384, 213], [355, 213]]}, {'text': '工具', 'confidence': 0.9999035596847534, 'text_box_position': [[186, 195], [215, 195], [215, 213], [186, 213]]}, {'text': '批注', 'confidence': 0.9980814456939697, 'text_box_position': [[131, 197], [157, 197], [157, 214], [131, 214]]}, {'text': '页面', 'confidence': 0.9979842305183411, 'text_box_position': [[76, 198], [100, 198], [100, 211], [76, 211]]}, {'text': 'hWPSAIQ', 'confidence': 0.911935031414032, 'text_box_position': [[411, 189], [508, 189], [508, 211], [411, 211]]}, {'text': '区', 'confidence': 0.8685702681541443, 'text_box_position': [[95, 234], [123, 234], [123, 266], [95, 266]]}, {'text': '发票合并', 'confidence': 0.8561980724334717, 'text_box_position': [[17, 268], [68, 268], [68, 284], [17, 284]]}, {'text': '关闭', 'confidence': 0.9965828657150269, 'text_box_position': [[95, 268], [119, 260], [125, 280], [100, 287]]}, {'text': '发票打', 'confidence': 0.9951114654541016, 'text_box_position': [[1170, 323], [1221, 323], [1221, 339], [1170, 339]]}, {'text': '上海增值税电子普通发票', 'confidence': 0.9999275803565979, 'text_box_position': [[367, 358], [824, 363], [824, 406], [367, 401]]}, {'text': '发票代码：031002100711', 'confidence': 0.9996693730354309, 'text_box_position': [[862, 388], [1062, 388], [1062, 410], [862, 410]]}, {'text': '发票号码：30122300', 'confidence': 0.9994589686393738, 'text_box_position': [[860, 420], [1023, 417], [1023, 440], [860, 443]]}, {'text': '开票日期：2023年08月07日', 'confidence': 0.996833324432373, 'text_box_position': [[858, 452], [1060, 447], [1060, 470], [858, 475]]}, {'text': '机器编', 'confidence': 0.9972675442695618, 'text_box_position': [[49, 477], [102, 477], [102, 493], [49, 493]]}, {'text': '499098306660', 'confidence': 0.9989497065544128, 'text_box_position': [[127, 475], [237, 475], [237, 497], [127, 497]]}, {'text': '校验码：16461051333538280429', 'confidence': 0.9995521903038025, 'text_box_position': [[860, 482], [1151, 482], [1151, 504], [860, 504]]}, {'text': '称上海从云信息科技有限公司', 'confidence': 0.9585666656494141, 'text_box_position': [[188, 512], [405, 512], [405, 534], [188, 534]]}, {'text': '购', 'confidence': 0.737197995185852, 'text_box_position': [[59, 525], [74, 520], [81, 537], [66, 543]]}, {'text': '0398-73/82/2--1-＜2>534/3893', 'confidence': 0.9610893726348877, 'text_box_position': [[767, 525], [1100, 525], [1100, 541], [767, 541]]}, {'text': '纳税人识别号：91310115332419123H', 'confidence': 0.9991414546966553, 'text_box_position': [[100, 539], [365, 541], [365, 564], [100, 562]]}, {'text': '买', 'confidence': 0.9976609945297241, 'text_box_position': [[62, 550], [83, 550], [83, 576], [62, 576]]}, {'text': '>128485*654>6+1>1721537*/680', 'confidence': 0.9730433821678162, 'text_box_position': [[765, 552], [1101, 552], [1101, 573], [765, 573]]}, {'text': '地址、电话', 'confidence': 0.9168631434440613, 'text_box_position': [[104, 568], [213, 568], [213, 589], [104, 589]]}, {'text': '方', 'confidence': 0.9921924471855164, 'text_box_position': [[66, 585], [79, 585], [79, 599], [66, 599]]}, {'text': '2-14/1-2*1+0987342<308662<5-', 'confidence': 0.9729087948799133, 'text_box_position': [[761, 576], [1098, 578], [1098, 599], [761, 598]]}, {'text': '开户行及账号：', 'confidence': 0.9482814073562622, 'text_box_position': [[102, 594], [216, 594], [216, 621], [102, 621]]}, {'text': '区', 'confidence': 0.9998427629470825, 'text_box_position': [[702, 601], [715, 601], [715, 617], [702, 617]]}, {'text': '2<7>5*+-2501//01196/56615865', 'confidence': 0.9844109416007996, 'text_box_position': [[759, 605], [1100, 608], [1100, 630], [759, 626]]}, {'text': '货物或应税劳务、服务名称', 'confidence': 0.996784508228302, 'text_box_position': [[93, 628], [300, 630], [300, 653], [93, 651]]}, {'text': '规格型号', 'confidence': 0.999417781829834, 'text_box_position': [[363, 630], [437, 633], [435, 662], [361, 658]]}, {'text': '单位', 'confidence': 0.9999455213546753, 'text_box_position': [[481, 633], [521, 633], [521, 665], [481, 665]]}, {'text': '数量', 'confidence': 0.9448357820510864, 'text_box_position': [[570, 637], [620, 637], [620, 660], [570, 660]]}, {'text': '单价', 'confidence': 0.9998514652252197, 'text_box_position': [[690, 637], [738, 637], [738, 660], [690, 660]]}, {'text': '金额', 'confidence': 0.997549831867218, 'text_box_position': [[822, 637], [883, 637], [883, 665], [822, 665]]}, {'text': '税率', 'confidence': 0.9941006898880005, 'text_box_position': [[934, 639], [978, 639], [978, 663], [934, 663]]}, {'text': '税额', 'confidence': 0.99235600233078, 'text_box_position': [[1035, 637], [1098, 637], [1098, 665], [1035, 665]]}, {'text': '物流辅助服务派服务费', 'confidence': 0.9983322024345398, 'text_box_position': [[59, 653], [241, 656], [241, 678], [59, 674]]}, {'text': '次', 'confidence': 0.9975364208221436, 'text_box_position': [[489, 660], [515, 660], [515, 685], [489, 685]]}, {'text': '66.98', 'confidence': 0.9996708631515503, 'text_box_position': [[721, 662], [768, 662], [768, 685], [721, 685]]}, {'text': '1.0', 'confidence': 0.9154473543167114, 'text_box_position': [[624, 665], [647, 665], [647, 678], [624, 678]]}, {'text': '66.98', 'confidence': 0.9997691512107849, 'text_box_position': [[865, 663], [915, 663], [915, 686], [865, 686]]}, {'text': '6%', 'confidence': 0.9992161989212036, 'text_box_position': [[953, 665], [980, 665], [980, 685], [953, 685]]}, {'text': '4.02', 'confidence': 0.99984210729599, 'text_box_position': [[1100, 667], [1134, 667], [1134, 685], [1100, 685]]}, {'text': '计', 'confidence': 0.6935092806816101, 'text_box_position': [[224, 846], [239, 843], [243, 857], [228, 860]]}, {'text': '￥66.98', 'confidence': 0.9604339003562927, 'text_box_position': [[854, 848], [907, 848], [907, 866], [854, 866]]}, {'text': '402', 'confidence': 0.9967337846755981, 'text_box_position': [[1082, 852], [1126, 852], [1126, 869], [1082, 869]]}, {'text': '价税合计（大写）', 'confidence': 0.9988956451416016, 'text_box_position': [[137, 876], [255, 876], [255, 898], [137, 898]]}, {'text': '柒拾壹元整', 'confidence': 0.8488562703132629, 'text_box_position': [[340, 875], [443, 878], [443, 907], [340, 903]]}, {'text': '（小写）', 'confidence': 0.9996298551559448, 'text_box_position': [[845, 885], [898, 885], [898, 908], [845, 908]]}, {'text': '￥71.00', 'confidence': 0.9483461976051331, 'text_box_position': [[1058, 891], [1122, 894], [1121, 917], [1056, 914]]}, {'text': '名', 'confidence': 0.7586368918418884, 'text_box_position': [[114, 912], [125, 908], [131, 923], [119, 926]]}, {'text': '称上海顺泰速运有限公司', 'confidence': 0.9958763718605042, 'text_box_position': [[196, 908], [378, 912], [378, 933], [196, 930]]}, {'text': '销', 'confidence': 0.9962131977081299, 'text_box_position': [[79, 926], [93, 926], [93, 940], [79, 940]]}, {'text': '纳税人识别号：91310117MA1J4NPROP', 'confidence': 0.9769681096076965, 'text_box_position': [[112, 933], [378, 937], [378, 958], [112, 954]]}, {'text': '售', 'confidence': 0.9980887770652771, 'text_box_position': [[79, 944], [93, 944], [93, 967], [79, 967]]}, {'text': '地址、电话：上海市松江区新浜镇共青路93号10幢106021-69763258', 'confidence': 0.9734601378440857, 'text_box_position': [[112, 960], [569, 969], [569, 990], [112, 981]]}, {'text': '开户行及账号：招行闵行支行121939558910118', 'confidence': 0.9964499473571777, 'text_box_position': [[114, 985], [426, 992], [426, 1015], [114, 1008]]}, {'text': '91310117MA1J4NPROP', 'confidence': 0.9977316856384277, 'text_box_position': [[885, 995], [1044, 999], [1044, 1020], [885, 1017]]}, {'text': '收款人：张静', 'confidence': 0.9876014590263367, 'text_box_position': [[87, 1020], [180, 1020], [180, 1041], [87, 1041]]}, {'text': '复核：葛鑫鑫', 'confidence': 0.9570255875587463, 'text_box_position': [[363, 1020], [454, 1024], [454, 1045], [363, 1041]]}, {'text': '开票人：张娟娟', 'confidence': 0.9932249784469604, 'text_box_position': [[628, 1027], [742, 1029], [742, 1052], [628, 1050]]}, {'text': '销售发票专用章', 'confidence': 0.8506632447242737, 'text_box_position': [[873, 1029], [1025, 1033], [1025, 1059], [873, 1056]]}, {'text': '四', 'confidence': 0.8498068451881409, 'text_box_position': [[169, 1159], [194, 1169], [182, 1192], [157, 1182]]}, {'text': '回', 'confidence': 0.9635605812072754, 'text_box_position': [[1138, 1157], [1164, 1157], [1164, 1175], [1138, 1175]]}, {'text': '口', 'confidence': 0.8623413443565369, 'text_box_position': [[1199, 1162], [1219, 1162], [1219, 1175], [1199, 1175]]}, {'text': '巴', 'confidence': 0.6834590435028076, 'text_box_position': [[534, 1175], [557, 1175], [557, 1194], [534, 1194]]}, {'text': '区', 'confidence': 0.9150610566139221, 'text_box_position': [[574, 1176], [603, 1176], [603, 1196], [574, 1196]]}, {'text': 'C', 'confidence': 0.8746523857116699, 'text_box_position': [[700, 1178], [725, 1178], [725, 1199], [700, 1199]]}, {'text': 'ΛOC', 'confidence': 0.8182465434074402, 'text_box_position': [[538, 1219], [637, 1222], [635, 1269], [536, 1265]]}, {'text': 'Kongwan运', 'confidence': 0.6823586225509644, 'text_box_position': [[291, 1641], [371, 1641], [371, 1657], [291, 1657]]}], [{'text': '上海增值税电子', 'confidence': 0.9514107704162598, 'text_box_position': [[573, 157], [942, 165], [942, 218], [573, 211]]}, {'text': '普通发票', 'confidence': 0.9998960494995117, 'text_box_position': [[924, 157], [1125, 161], [1125, 218], [924, 215]]}, {'text': '发票代码：031002200211', 'confidence': 0.9674017429351807, 'text_box_position': [[1167, 163], [1423, 165], [1423, 194], [1167, 192]]}, {'text': '发票号码：07363435', 'confidence': 0.9954264760017395, 'text_box_position': [[1166, 199], [1377, 201], [1377, 230], [1166, 228]]}, {'text': '开票日期：2023年03月02日', 'confidence': 0.9590133428573608, 'text_box_position': [[1169, 239], [1428, 239], [1428, 262], [1169, 262]]}, {'text': '上海市税务局', 'confidence': 0.9924580454826355, 'text_box_position': [[796, 260], [899, 260], [899, 291], [796, 291]]}, {'text': '机器号：499098507701', 'confidence': 0.9978039264678955, 'text_box_position': [[140, 277], [401, 277], [401, 306], [140, 306]]}, {'text': '校验码：13431350230655537004', 'confidence': 0.9821119904518127, 'text_box_position': [[1166, 272], [1540, 275], [1540, 304], [1166, 300]]}, {'text': '称：上海丛云信息科技有限公司', 'confidence': 0.9833114743232727, 'text_box_position': [[308, 319], [628, 319], [628, 348], [308, 348]]}, {'text': '购', 'confidence': 0.9992603659629822, 'text_box_position': [[152, 338], [173, 338], [173, 363], [152, 363]]}, {'text': '03+-3/>28-8>539>5302858/5+85', 'confidence': 0.9298914670944214, 'text_box_position': [[1006, 329], [1553, 331], [1553, 355], [1006, 354]]}, {'text': '买', 'confidence': 0.9327943325042725, 'text_box_position': [[150, 359], [173, 359], [173, 407], [150, 407]]}, {'text': '纳税人识别号：91310115332419123H', 'confidence': 0.9941771030426025, 'text_box_position': [[195, 350], [589, 359], [589, 388], [195, 378]]}, {'text': '++113-0576478/34007443-+9/13', 'confidence': 0.913430392742157, 'text_box_position': [[1004, 363], [1556, 365], [1556, 393], [1004, 392]]}, {'text': '地址、电话：上海市青浦区金泽镇练西公路2850号1幢2层A区185室13816118103', 'confidence': 0.9573245048522949, 'text_box_position': [[195, 393], [930, 399], [930, 424], [195, 418]]}, {'text': '95+09961723-+2+>7105972<+5.', 'confidence': 0.9420082569122314, 'text_box_position': [[1017, 403], [1554, 403], [1554, 426], [1017, 426]]}, {'text': '开户行及账号：中国农业银行股份有限公司上海漕河泾开发区支行03390800040023336', 'confidence': 0.9757569432258606, 'text_box_position': [[193, 430], [894, 437], [894, 466], [193, 458]]}, {'text': '区', 'confidence': 0.999592125415802, 'text_box_position': [[965, 426], [979, 426], [979, 443], [965, 443]]}, {'text': '7>>3>47701--<219/<492-7269', 'confidence': 0.9003884196281433, 'text_box_position': [[1011, 437], [1556, 437], [1556, 460], [1011, 460]]}, {'text': '货物或应税劳务、服务名称', 'confidence': 0.9963366389274597, 'text_box_position': [[173, 475], [454, 477], [454, 506], [173, 504]]}, {'text': '规格型号', 'confidence': 0.9997732043266296, 'text_box_position': [[552, 477], [647, 477], [647, 508], [552, 508]]}, {'text': '单位', 'confidence': 0.9999569654464722, 'text_box_position': [[715, 481], [759, 481], [759, 506], [715, 506]]}, {'text': '数量', 'confidence': 0.9575245380401611, 'text_box_position': [[814, 481], [883, 481], [883, 506], [814, 506]]}, {'text': '单价', 'confidence': 0.9996830224990845, 'text_box_position': [[962, 479], [1033, 479], [1033, 510], [962, 510]]}, {'text': '税率', 'confidence': 0.9910493493080139, 'text_box_position': [[1295, 481], [1343, 481], [1343, 510], [1295, 510]]}, {'text': '额', 'confidence': 0.9839491248130798, 'text_box_position': [[1164, 487], [1189, 479], [1194, 502], [1169, 510]]}, {'text': '税', 'confidence': 0.9983660578727722, 'text_box_position': [[1421, 483], [1450, 483], [1450, 504], [1421, 504]]}, {'text': '*运输服务客运服务费', 'confidence': 0.9236225485801697, 'text_box_position': [[138, 510], [358, 510], [358, 538], [138, 538]]}, {'text': '次', 'confidence': 0.9985191226005554, 'text_box_position': [[718, 510], [749, 510], [749, 540], [718, 540]]}, {'text': '1324.02', 'confidence': 0.99946528673172, 'text_box_position': [[1183, 511], [1269, 511], [1269, 542], [1183, 542]]}, {'text': '3%', 'confidence': 0.9983702898025513, 'text_box_position': [[1315, 511], [1352, 511], [1352, 546], [1315, 546]]}, {'text': '1324.02', 'confidence': 0.999602198600769, 'text_box_position': [[969, 513], [1057, 510], [1059, 540], [970, 544]]}, {'text': '39.72', 'confidence': 0.9989256858825684, 'text_box_position': [[1501, 510], [1569, 510], [1569, 546], [1501, 546]]}, {'text': '运输服务客运服务费', 'confidence': 0.9992513656616211, 'text_box_position': [[142, 544], [356, 544], [356, 567], [142, 567]]}, {'text': '-13.75', 'confidence': 0.9631010890007019, 'text_box_position': [[1198, 546], [1269, 546], [1269, 570], [1198, 570]]}, {'text': '3%', 'confidence': 0.9992908239364624, 'text_box_position': [[1317, 544], [1352, 544], [1352, 570], [1317, 570]]}, {'text': '-0.41', 'confidence': 0.9181879162788391, 'text_box_position': [[1512, 548], [1565, 548], [1565, 572], [1512, 572]]}, {'text': '￥1310.27', 'confidence': 0.929027259349823, 'text_box_position': [[1164, 757], [1269, 757], [1269, 786], [1164, 786]]}, {'text': '价税合计（大写', 'confidence': 0.9961820244789124, 'text_box_position': [[227, 805], [395, 805], [395, 827], [227, 827]]}, {'text': '②壹仟叁佰肆拾玖圆伍角捌分', 'confidence': 0.9133447408676147, 'text_box_position': [[509, 803], [812, 801], [812, 829], [509, 831]]}, {'text': '（小写）￥1349.58', 'confidence': 0.9542668461799622, 'text_box_position': [[1263, 805], [1448, 805], [1448, 833], [1263, 833]]}, {'text': '称上海滴滴畅行科技有限公司', 'confidence': 0.9883437156677246, 'text_box_position': [[303, 848], [624, 852], [624, 886], [303, 883]]}, {'text': '销', 'confidence': 0.8312855362892151, 'text_box_position': [[136, 873], [157, 864], [166, 888], [147, 898]]}, {'text': '售方', 'confidence': 0.9860430955886841, 'text_box_position': [[142, 890], [165, 890], [165, 972], [142, 972]]}, {'text': '纳税人识别号：91310114MA1GW61J6U', 'confidence': 0.9814165830612183, 'text_box_position': [[188, 881], [601, 888], [601, 923], [188, 915]]}, {'text': '址电话：上海市静安区万荣路277弄12号2027室400-000-0999', 'confidence': 0.9585183262825012, 'text_box_position': [[207, 919], [871, 923], [871, 957], [207, 953]]}, {'text': '开户行及账号招商银行股份有限公司上海东方支行121932981110606', 'confidence': 0.9954646825790405, 'text_box_position': [[191, 955], [882, 957], [882, 985], [191, 983]]}, {'text': '9130114M41CW1J6', 'confidence': 0.8244863748550415, 'text_box_position': [[1331, 982], [1512, 982], [1512, 1004], [1331, 1004]]}, {'text': '收款人', 'confidence': 0.9952516555786133, 'text_box_position': [[150, 999], [241, 999], [241, 1022], [150, 1022]]}, {'text': '杜洪亮', 'confidence': 0.991168737411499, 'text_box_position': [[269, 999], [339, 999], [339, 1029], [269, 1029]]}, {'text': '复核：张唯', 'confidence': 0.914962887763977, 'text_box_position': [[575, 1001], [706, 1001], [706, 1029], [575, 1029]]}, {'text': '于秋红', 'confidence': 0.980259895324707, 'text_box_position': [[1006, 1004], [1073, 1004], [1073, 1027], [1006, 1027]]}, {'text': '发票专用章', 'confidence': 0.9998190999031067, 'text_box_position': [[1352, 1010], [1498, 1010], [1498, 1046], [1352, 1046]]}]]

        # mobile
        # datas = [[{'text': '发票信息20240228212038（1）x', 'confidence': 0.9414901733398438, 'text_box_position': [[146, 156], [382, 154], [382, 177], [146, 179]]}, {'text': '滴滴电子发票pdf', 'confidence': 0.9181861877441406, 'text_box_position': [[390, 157], [513, 157], [513, 175], [390, 175]]}, {'text': 'pd', 'confidence': 0.9623386859893799, 'text_box_position': [[3, 161], [26, 161], [26, 175], [3, 175]]}, {'text': '顺丰电子发票.pdf', 'confidence': 0.9234615564346313, 'text_box_position': [[637, 154], [767, 154], [767, 177], [637, 177]]}, {'text': '发票', 'confidence': 0.9998956322669983, 'text_box_position': [[354, 191], [386, 191], [386, 213], [354, 213]]}, {'text': 'AWPSAIQ', 'confidence': 0.8033038377761841, 'text_box_position': [[411, 189], [510, 189], [510, 213], [411, 213]]}, {'text': '区', 'confidence': 0.9840149283409119, 'text_box_position': [[24, 232], [125, 232], [125, 264], [24, 264]]}, {'text': '发票合井关闭', 'confidence': 0.9475415349006653, 'text_box_position': [[11, 264], [127, 264], [127, 287], [11, 287]]}, {'text': '上海增值税电子普通发票', 'confidence': 0.9970943331718445, 'text_box_position': [[369, 360], [824, 367], [824, 408], [369, 401]]}, {'text': '发票代码：031002100711', 'confidence': 0.9987097382545471, 'text_box_position': [[860, 386], [1063, 385], [1063, 410], [860, 411]]}, {'text': '发票号码：30122300', 'confidence': 0.9979503154754639, 'text_box_position': [[860, 420], [1025, 415], [1025, 440], [860, 445]]}, {'text': '国家税务总构', 'confidence': 0.6460660099983215, 'text_box_position': [[550, 438], [639, 438], [639, 461], [550, 461]]}, {'text': '开票日期：2023年08月07日', 'confidence': 0.9971469640731812, 'text_box_position': [[858, 450], [1062, 447], [1062, 472], [858, 475]]}, {'text': '校验码：16461051333538280429', 'confidence': 0.9964227676391602, 'text_box_position': [[860, 482], [1151, 482], [1151, 505], [860, 505]]}, {'text': '称：上海从云信息科技有限公司', 'confidence': 0.956559956073761, 'text_box_position': [[184, 511], [407, 514], [407, 537], [184, 534]]}, {'text': '0398-73/82/2--1-<2>534/3893>', 'confidence': 0.9806782007217407, 'text_box_position': [[767, 525], [1101, 525], [1101, 543], [767, 543]]}, {'text': '>128485*654>6+1>1721537*/680', 'confidence': 0.9690169095993042, 'text_box_position': [[765, 550], [1101, 550], [1101, 573], [765, 573]]}, {'text': '地址、电话：', 'confidence': 0.927725613117218, 'text_box_position': [[106, 569], [218, 569], [218, 592], [106, 592]]}, {'text': '开户行及账号：', 'confidence': 0.94815593957901, 'text_box_position': [[104, 594], [216, 598], [216, 623], [104, 619]]}, {'text': '2<7>5*+-2501//01196/56615865', 'confidence': 0.9886013865470886, 'text_box_position': [[765, 605], [1101, 605], [1101, 628], [765, 628]]}, {'text': '货物或应税劳务、服务名称', 'confidence': 0.969409167766571, 'text_box_position': [[95, 628], [302, 631], [302, 654], [95, 651]]}, {'text': '规格型号', 'confidence': 0.9957841634750366, 'text_box_position': [[365, 635], [439, 635], [439, 660], [365, 660]]}, {'text': '数量', 'confidence': 0.9660894274711609, 'text_box_position': [[570, 637], [626, 637], [626, 662], [570, 662]]}, {'text': '单位', 'confidence': 0.9997773170471191, 'text_box_position': [[483, 639], [521, 639], [521, 660], [483, 660]]}, {'text': '单价', 'confidence': 0.9998245239257812, 'text_box_position': [[688, 633], [740, 637], [738, 663], [687, 660]]}, {'text': '税率', 'confidence': 0.9883348345756531, 'text_box_position': [[934, 639], [982, 639], [982, 663], [934, 663]]}, {'text': '物流辅助服务妆派服务费', 'confidence': 0.9226046204566956, 'text_box_position': [[59, 653], [243, 654], [243, 678], [59, 676]]}, {'text': '66.98', 'confidence': 0.9806944727897644, 'text_box_position': [[723, 665], [767, 665], [767, 685], [723, 685]]}, {'text': '66.98', 'confidence': 0.9793413281440735, 'text_box_position': [[867, 663], [917, 663], [917, 688], [867, 688]]}, {'text': '4.02', 'confidence': 0.9955082535743713, 'text_box_position': [[1100, 665], [1136, 665], [1136, 686], [1100, 686]]}, {'text': '￥402', 'confidence': 0.8562847375869751, 'text_box_position': [[1075, 848], [1130, 848], [1130, 873], [1075, 873]]}, {'text': '价税合计（大写）', 'confidence': 0.9841307401657104, 'text_box_position': [[137, 876], [260, 876], [260, 901], [137, 901]]}, {'text': '拾元整', 'confidence': 0.6180364489555359, 'text_box_position': [[340, 876], [445, 876], [445, 907], [340, 907]]}, {'text': '（小写）', 'confidence': 0.9904214143753052, 'text_box_position': [[843, 885], [900, 885], [900, 912], [843, 912]]}, {'text': '￥71.00', 'confidence': 0.9246395230293274, 'text_box_position': [[1058, 894], [1128, 894], [1128, 919], [1058, 919]]}, {'text': '称：上海顺泰速运有限公司', 'confidence': 0.9517787098884583, 'text_box_position': [[194, 908], [384, 912], [384, 937], [194, 933]]}, {'text': '纳税人识别号：91310117MA1J4NPROP', 'confidence': 0.9820736646652222, 'text_box_position': [[112, 933], [384, 937], [384, 962], [112, 958]]}, {'text': '91310117MA1J4NPROP', 'confidence': 0.9684826731681824, 'text_box_position': [[890, 997], [1050, 997], [1050, 1020], [890, 1020]]}, {'text': '收款人：张静', 'confidence': 0.9881417751312256, 'text_box_position': [[89, 1020], [184, 1020], [184, 1043], [89, 1043]]}, {'text': '复核：高鑫鑫', 'confidence': 0.9161507487297058, 'text_box_position': [[361, 1020], [456, 1024], [456, 1049], [361, 1045]]}, {'text': '开票人：张娟娟', 'confidence': 0.9689840078353882, 'text_box_position': [[628, 1025], [744, 1029], [744, 1054], [628, 1050]]}, {'text': '发票专用章', 'confidence': 0.8085842132568359, 'text_box_position': [[894, 1034], [1022, 1034], [1022, 1059], [894, 1059]]}, {'text': 'NOC', 'confidence': 0.6817979216575623, 'text_box_position': [[544, 1228], [635, 1228], [635, 1265], [544, 1265]]}], [{'text': '发票代码：031002200211', 'confidence': 0.989194393157959, 'text_box_position': [[1171, 165], [1423, 167], [1423, 194], [1171, 192]]}, {'text': '发票号码：07363435', 'confidence': 0.9914103150367737, 'text_box_position': [[1169, 201], [1380, 201], [1380, 232], [1169, 232]]}, {'text': '开票日期：2023年03月02日', 'confidence': 0.9489463567733765, 'text_box_position': [[1169, 239], [1430, 239], [1430, 264], [1169, 264]]}, {'text': '机器编号：499098507701', 'confidence': 0.9714208245277405, 'text_box_position': [[142, 279], [402, 277], [402, 304], [142, 306]]}, {'text': '03+', 'confidence': 0.9893951416015625, 'text_box_position': [[1009, 333], [1063, 333], [1063, 354], [1009, 354]]}, {'text': '规格型号', 'confidence': 0.998547375202179, 'text_box_position': [[553, 481], [639, 481], [639, 506], [553, 506]]}, {'text': '单位', 'confidence': 0.9783754348754883, 'text_box_position': [[718, 483], [757, 483], [757, 504], [718, 504]]}, {'text': '税率', 'confidence': 0.9982068538665771, 'text_box_position': [[1297, 485], [1341, 485], [1341, 506], [1297, 506]]}, {'text': '运输服务*客运服务费', 'confidence': 0.9188811182975769, 'text_box_position': [[138, 510], [358, 511], [358, 538], [138, 536]]}, {'text': '1324.02', 'confidence': 0.9919222593307495, 'text_box_position': [[972, 515], [1059, 515], [1059, 540], [972, 540]]}, {'text': '1324.02', 'confidence': 0.9414534568786621, 'text_box_position': [[1185, 515], [1267, 515], [1267, 540], [1185, 540]]}, {'text': '3%', 'confidence': 0.9770257472991943, 'text_box_position': [[1315, 515], [1352, 515], [1352, 544], [1315, 544]]}, {'text': '39.72', 'confidence': 0.9571220278739929, 'text_box_position': [[1503, 515], [1567, 515], [1567, 544], [1503, 544]]}, {'text': '运输服务客运服务费', 'confidence': 0.9941475987434387, 'text_box_position': [[140, 544], [358, 544], [358, 569], [140, 569]]}, {'text': '3%', 'confidence': 0.9963703155517578, 'text_box_position': [[1315, 546], [1352, 546], [1352, 574], [1315, 574]]}, {'text': '-13.75', 'confidence': 0.9842912554740906, 'text_box_position': [[1201, 550], [1269, 550], [1269, 570], [1201, 570]]}, {'text': '-0.41', 'confidence': 0.9503399133682251, 'text_box_position': [[1510, 548], [1567, 548], [1567, 574], [1510, 574]]}, {'text': 'Y1310.27', 'confidence': 0.8927671909332275, 'text_box_position': [[1166, 761], [1269, 761], [1269, 786], [1166, 786]]}, {'text': '￥39.31', 'confidence': 0.9609548449516296, 'text_box_position': [[1491, 761], [1569, 761], [1569, 787], [1491, 787]]}, {'text': '价税合计（大写）', 'confidence': 0.9364420175552368, 'text_box_position': [[223, 797], [399, 801], [399, 833], [223, 829]]}, {'text': '③壹仟参佰建拾玖圆伍角捌分', 'confidence': 0.8195318579673767, 'text_box_position': [[509, 801], [814, 801], [814, 833], [509, 833]]}, {'text': '小写）￥1349.58', 'confidence': 0.9760469794273376, 'text_box_position': [[1270, 803], [1450, 803], [1450, 833], [1270, 833]]}, {'text': '称上海滴滴畅行科技有限公司', 'confidence': 0.8950352072715759, 'text_box_position': [[303, 852], [628, 856], [628, 886], [303, 883]]}, {'text': '91310H4MAICNGHJG', 'confidence': 0.7783025503158569, 'text_box_position': [[1329, 978], [1515, 978], [1515, 1008], [1329, 1008]]}, {'text': '收款人', 'confidence': 0.9618416428565979, 'text_box_position': [[149, 999], [250, 999], [250, 1025], [149, 1025]]}, {'text': '杜洪亮', 'confidence': 0.9455890655517578, 'text_box_position': [[269, 1003], [339, 1003], [339, 1029], [269, 1029]]}, {'text': '手秋红', 'confidence': 0.7462121844291687, 'text_box_position': [[1013, 1006], [1073, 1006], [1073, 1027], [1013, 1027]]}, {'text': '发票专用章', 'confidence': 0.9906611442565918, 'text_box_position': [[1350, 1010], [1496, 1010], [1496, 1048], [1350, 1048]]}]]

        print(datas)

        res_list = []
        # 遍历 若干张发票 OCR识别 后的结果集
        # 一张发票 key_list & data 仅遍历一次 时间复杂度a * O(m+n)
        for data in datas:
            start_dat_idx = 0

            # end
            res_dict = {"日期": "", "票种": "", "发票号码": "", "金额": 0.0}

            # 数据提取 & 初步处理
            # 遍历关键字列表
            for key_idx in range(len(key_list)):
                # 遍历一张发票的OCR识别结果集
                for dat_idx in range(start_dat_idx, len(data)):
                    # 识别到了带有关键字的图片内容
                    if data[dat_idx]['text'].find(key_list[key_idx]) != -1:
                        # 票种
                        if key_list[key_idx] == '用发票':
                            res_dict['票种'] = "增值税专用发票"
                        elif key_list[key_idx] == '通发票':
                            res_dict['票种'] = "增值税普通发票"
                        # 发票基本信息
                        # 电子发票发票号码
                        elif key_list[key_idx] == '发票号码':
                            key, value = split_by_colon(data[dat_idx]['text'])
                            res_dict[key] = value
                        # 非电子发票发票号码(No.xxxx)
                        elif key_list[key_idx] == 'No':
                            if (str(data[dat_idx]['text']).startswith('N')
                                    and '0' <= data[dat_idx]['text'][2] <= '9'):
                                res_dict["发票号码"] = data[dat_idx]['text'][2:]
                            else:
                                continue
                        elif key_list[key_idx] == 'N':
                            if (str(data[dat_idx]['text']).startswith('N')
                                    and '0' <= data[dat_idx]['text'][1] <= '9'):
                                res_dict["发票号码"] = data[dat_idx]['text'][1:]
                            else:
                                continue
                        # 开票日期
                        elif key_list[key_idx] == '日期':
                            key, value = split_by_colon(data[dat_idx]['text'])
                            if len(value) == 0 and str(data[dat_idx + 1]['text']).startswith("20"):
                                text = data[dat_idx]['text'] + "：" + data[dat_idx + 1]['text']
                                key, value = split_by_colon(text)
                            if len(value) == 0:
                                continue
                            res_dict["日期"] = value
                        elif (key_list[key_idx] == '发票代码'
                                or key_list[key_idx] == '校验码'):
                            key, value = split_by_colon(data[dat_idx]['text'])
                            res_dict[key] = value
                        # 价税合计小写()
                        elif key_list[key_idx] == '小写':
                            res_dict['金额'], flag = reserve_num(data[dat_idx]['text'])
                            if res_dict['金额'] == -1:
                                res_dict['金额'], flag = reserve_num(data[dat_idx + 1]['text'])

                            if flag:
                                print("金额：" + res_dict['金额'] + "可能存在问题")
                        start_dat_idx = dat_idx + 1
                        break

            # 金额不存在
            if res_dict['金额'] == -1 or res_dict['金额'] == 0:
                money_list = []
                for dat_idx in range(len(data)):
                    if str(data[dat_idx]['text']).startswith('￥'):
                        money_list.append(reserve_num(data[dat_idx]['text'])[0])
                if len(money_list) >= 2:
                    res_dict['金额'] = format(float(money_list[0]) + float(money_list[1]), f".{2}f")
                    print("金额：" + res_dict['金额'] + "可能存在问题")

            # 将处理后的数据存入结果集
            res_list.append(res_dict)
        # print(res_list)
        return res_list, names


if __name__ == '__main__':
    myplayer = OCR_Player(accuracy=0.6, adb_mode=True, adb_num=0)
    myplayer.find_touch([
        # 发票类型
        # '增值税',
        # '通行费',
        '用发票', '通发票',
        # '统一', '机打',
        # 右上角发票相关
        '发票代码', '发票号码', '日期', '校验码',
        # 左上角购买方相关
        # '称', '识别号', '电话', '开户行',
        # 中间具体内容
        # '税额', '计', '小写',
        '小写'
        # 左下角销售方相关
        # '称', '识别号', '电话', '开户行'
    ])
